package modelos.pojos;

import controladores.ConsultarReservaCont;
import modelos.daos.HabitacionDAO;
import modelos.daos.ReservaDAO;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;

public class CheckInHabitacion {

    private int id;
    private ReservaHabitacion reservaHabitacion;
    private Empleado empleado;
    private Date fechaIn;
    private Date fechaOut;
    private char estado;

    public CheckInHabitacion() {
    }

    public CheckInHabitacion(ReservaHabitacion reservaHabitacion, Empleado empleado, Date fechaIn) {
        this.reservaHabitacion = reservaHabitacion;
        this.empleado = empleado;
        this.fechaIn = fechaIn;
        this.estado = 'r';
    }

    public ReservaHabitacion getReservaHabitacion() {
        return reservaHabitacion;
    }

    public void setReservaHabitacion(ReservaHabitacion reservaHabitacion) {
        this.reservaHabitacion = reservaHabitacion;
    }

    public Empleado getEmpleado() {
        return empleado;
    }

    public void setEmpleado(Empleado empleado) {
        this.empleado = empleado;
    }

    public char getEstado() {
        return estado;
    }

    public void setEstado(char estado) {
        this.estado = estado;
    }

    public Date getFechaIn() {
        return fechaIn;
    }

    public void setFechaIn(Date fechaIn) {
        this.fechaIn = fechaIn;
    }

    public Date getFechaOut() {
        return fechaOut;
    }

    public void setFechaOut(Date fechaOut) {
        this.fechaOut = fechaOut;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public static CheckInHabitacion cargarDatos(ResultSet in, String codigoReserva) throws SQLException {
        CheckInHabitacion out = new CheckInHabitacion();
        out.setId(in.getInt(1));
        out.setFechaIn(in.getDate(4));
        out.setFechaOut(in.getDate(5));
        out.setEstado(in.getString(6).charAt(0));
        Habitacion habitacion = HabitacionDAO.consultarPorID(in.getInt(7));
        out.setReservaHabitacion(ConsultarReservaCont.consultarReservaHabitacion(codigoReserva, habitacion.getNumero()));
        return out;
    }

    @Override
    public String toString() {
        return "CheckInHabitacion{" + "id=" + id + "reservaHabitacion=" + reservaHabitacion + "empleado=" + empleado + "fechaIn=" + fechaIn + "fechaOut=" + fechaOut + "estado=" + estado + '}';
    }
}
